package com.hushow.plugin.brick;

import com.hushow.plugin.brick.service.IDemoExtensionPoint;
import org.pf4j.DefaultPluginManager;
import org.pf4j.PluginManager;

import java.util.List;

public class PluginMain {

    public static void main(String[] args) {

        // 创建插件管理器
       //PluginManager pluginManager = new DefaultPluginManager(Paths.get("/plugins"));
        PluginManager pluginManager = new DefaultPluginManager();
        // 加载插件

        pluginManager.loadPlugins();
        // 启动插件
        pluginManager.startPlugins();

        // 获取所有扩展实现
        List<IDemoExtensionPoint> epList = pluginManager.getExtensions(IDemoExtensionPoint.class);

        // 使用扩展
        for (IDemoExtensionPoint<?> ep : epList) {
            System.out.println(ep.getById("11"));
        }

        //// 停止并卸载插件
        pluginManager.stopPlugins();
        pluginManager.unloadPlugins();
    }
}
